<?php
/**
 * Description of comunas
 *
 * @author daniel
 */
class Comunas extends Controller {

    public function __construct() {
        parent::__construct();

        $this->load->model("comunas/comunas_model");

        $this->load->library("autenticacion");
        $this->load->library("templator");

        $this->load->helper('form');
        $this->load->helper('language');
        $this->load->helper('url');

        $this->lang->load('db_fields', 'english'); // This is the language file
    }

    private function _security_check() {
        $isLoggedin = $this->autenticacion->logged_in();
        $isAdmin = $this->autenticacion->is_admin();

        //descomentar para activar la seguridad
        if ( ! $isLoggedin ){

            redirect("home_principal");
            exit(); //termina con la redireccion

        }
    }

    function dropdown($region = '') {
        $listado_comunas = $this->comunas_model->listado_en_array_doble($region);
        $data = array("listado_comunas" => $listado_comunas);
        $this->load->view("comunas/dropdown", $data);
    }

    /**
     *  LISTS MODEL DATA INTO A TABLE
     */         
    function index( $page = 0 )
    {
				$this->_security_check();

				$this->comunas_model->pagination( TRUE );
				$data_info = $this->comunas_model->lister( $page );

				$viewName = "comunas/list_comunas";
				$viewData = array();

				$viewData['pager'] =  $this->comunas_model->pager;
				$viewData['comunas_data'] =  $data_info;
				$viewData['table_name'] =  'Comunas';
				$viewData['template'] =  'list_comunas';

				$this->templator->template_sin_buscador($viewName, $viewData);
    }

    /**
     *  SHOWS A FROM, AND HANDLES SAVING IT
     */         
    function create( $id = false )
    {
				$this->_security_check();

				$this->load->library('form_validation');

				switch ( $_SERVER ['REQUEST_METHOD'] ){

					case 'GET':
						$viewName = "comunas/form_comunas";
						$viewData = array();
						$viewData['action_mode'] =  'create';
						$viewData['table_name'] =  'Comunas';
						$viewData["listado_regiones"] = $this->comunas_model->obtener_todas_las_regiones();
						$this->templator->template_sin_buscador($viewName, $viewData);
						break;

						/**
						 *  Insert data TO comunas table
						 */
					case 'POST':
						//$fields = $this->comunas_model->fields();

						/* we set the rules */
						/* dont forget to edit these */
						$this->form_validation->set_rules( 'region', lang('nombre'), 'required|max_length[50]' );
						$this->form_validation->set_rules( 'nombre', lang('nombre'), 'required|max_length[50]' );

						$index_region = $this->input->post("region");
						$regiones = $this->comunas_model->obtener_todas_las_regiones();

						$data_post['region'] = strtoupper($regiones[$index_region]);
						$data_post['nombre'] = strtoupper($this->input->post('nombre'));

						if ( $this->form_validation->run() == FALSE ){
							$errors = validation_errors();

							$viewName = "comunas/form_comunas";
							$viewData = array();

							$viewData['errors'] =  $errors;
							$viewData['action_mode'] =  'create';
							$viewData['table_name'] =  'Comunas';
							$viewData["listado_regiones"] = $this->comunas_model->obtener_todas_las_regiones();

							$this->templator->template_sin_buscador($viewName, $viewData);
						}elseif ( $this->form_validation->run() == TRUE ){

								$insert_id = $this->comunas_model->insert( $data_post );
								redirect('comunas/index');
						}
								break;
				}
    }

    /**
     *  DELETES RECORD
     */
    function delete($region, $comuna)
    {
				$this->_security_check();
        $this->comunas_model->delete($region, $comuna);
        redirect( $_SERVER['HTTP_REFERER'] );
    }


}
